<?php
// 这是系统自动生成的公共文件

/**
 * 父子级结构处理
 */
if (!function_exists('recursion_handle_data')) {
    // 通过递归实现父子级结构
    function recursion_handel_data($data,$parent_id=0)
    {

        $result = [];//处理后的
        # 先找一级的
         # 循环处理数据
        foreach ($data as $value) {
            # 判断、pid的值
            if ($value['parent_id'] == $parent_id) {
                # 找到一级分类
                $result[$value['id']] = $value;
                # 找对应一级分类下面的二级分类
                # 递归的特性、自己调用自己
                $result[$value['id']]['children'][] = recursion_handel_data($data,$value['id']);
                # 怎么统一放到数组中？ 把添加菜单的权限放在菜单管理里面？
            }
        }

        return $result;
    }
}
// 单个应用进行封装
/**
 * 封装一个公共响应方法
 */
if (!function_exists('success')){
    /**
     * 响应成功
     * @param $data
     * @param int $code
     * @param string $msg
     * @return false|string
     */
    function success($data=[],$code=200,$msg='ok'){
        return json(['data' => $data,'code' => $code,'msg' => $msg]);
    }
}

/**
 * 封装一个公共响应方法
 */
if (!function_exists('fail')){
    /**
     * 响应成功
     * @param $data
     * @param int $code
     * @param string $msg
     * @return false|string
     */
    function fail($code=2001,$msg='参数错误',$data=[]){
        return json(['data' => $data,'code' => $code,'msg' => $msg]);
    }
}


/**
 * 树形结构
 */

if (!function_exists('recursion_tree')) {
    /**
     * 递归处理树形结构
     */
    function recursion_tree($data,$parent_id=0,$level=0){

        static $tree = [];
        foreach ($data as $key => $value) {
            # 判断处理数据
            if ($value['parent_id'] == $parent_id) {
                # 用户管理 、第二次寻找的时候 等级+ 1 添加用户
                $value['level'] = $level;// 当前权限的等级

                $tree[] = $value;
                # 移除当前已经找到权限
                unset($data[$key]);
                // 接下来寻找的数据
                // 寻找用户管理下面的权限
                // 自己调用自己
                recursion_tree($data,$value['id'],$level+1);
            }
        }
        return $tree;
    }
}









//树形结构

//^ array:8 [
//    0 => array:9 [
//    "role_id" => 1
//    "auth_id" => 5
//    "id" => 5
//    "auth_name" => "用户管理"
//    "controller" => null
//    "action" => null
//    "is_nav" => 1
//    "parent_id" => 0
//    "level" => 0
//  ]
//  1 => array:9 [
//    "role_id" => 1
//    "auth_id" => 2
//    "id" => 2
//    "auth_name" => "删除用户"
//    "controller" => "Admin"
//    "action" => "delete"
//    "is_nav" => 0
//    "parent_id" => 5
//    "level" => 1
//  ]
//  2 => array:9 [
//    "role_id" => 1
//    "auth_id" => 1
//    "id" => 1
//    "auth_name" => "创建用户"
//    "controller" => "Admin"
//    "action" => "create"
//    "is_nav" => 0
//    "parent_id" => 5
//    "level" => 1
//  ]
//  3 => array:9 [
//    "role_id" => 1
//    "auth_id" => 3
//    "id" => 3
//    "auth_name" => "修改密码"
//    "controller" => "Admin"
//    "action" => "updatePassword"
//    "is_nav" => 0
//    "parent_id" => 5
//    "level" => 1
//  ]
//  4 => array:9 [
//    "role_id" => 1
//    "auth_id" => 4
//    "id" => 4
//    "auth_name" => "查看信息"
//    "controller" => "Admin"
//    "action" => "getInfo"
//    "is_nav" => 0
//    "parent_id" => 5
//    "level" => 1
//  ]
//  5 => array:9 [
//    "role_id" => 1
//    "auth_id" => 6
//    "id" => 6
//    "auth_name" => "商品管理"
//    "controller" => null
//    "action" => null
//    "is_nav" => 1
//    "parent_id" => 0
//    "level" => 0
//  ]
//  6 => array:9 [
//    "role_id" => 1
//    "auth_id" => 8
//    "id" => 8
//    "auth_name" => "添加商品"
//    "controller" => "Goods"
//    "action" => "add"
//    "is_nav" => 0
//    "parent_id" => 6
//    "level" => 1
//  ]
//  7 => array:9 [
//    "role_id" => 1
//    "auth_id" => 7
//    "id" => 7
//    "auth_name" => "系统管理"
//    "controller" => null
//    "action" => null
//    "is_nav" => 1
//    "parent_id" => 0
//    "level" => 0
//  ]
//]